home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / PROGENV / MethodB.h < prev    next >
C/C++ Source or Header  |  1992-06-09  |  2KB  |  81 lines

  1. #ifndef MethodBrowser_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define MethodBrowser_First
  7.  
  8. #include "Dialog.h"
  9. #include "CollView.h"
  10. #include "TextItem.h"
  11.        
  12. class RegularExp;
  13. class SeqCollection;
  14. class PeMethodReference;
  15. class PeMethodItem;
  16. class TextField;
  17.  
  18. //---- MethodBrowser ------------------------------------------------------------
  19.  
  20. class PeMethodBrowser: public CollectionView {
  21.     SeqCollection *allMethods, *filteredMethods;
  22.     Class *ofClass;
  23.     
  24. public:
  25.     MetaDef(PeMethodBrowser);
  26.     PeMethodBrowser(EvtHandler *);
  27.     ~PeMethodBrowser();
  28.       
  29.     void DoSelect(Rectangle r, int clicks);
  30.     void ShowMethodsOf(Class*);
  31.     void SelectMethod(PeMethodReference *mr);
  32.     PeMethodItem *GetSelectedMethod();
  33.     void Filter();
  34.     void RemoveFilter();
  35. };
  36.  
  37. //---- Implementors ------------------------------------------------------------
  38.  
  39. class PeImplementors: public CollectionView {
  40.     bool SameMethods(char *m1, char *m2);
  41.     bool IsDestructor(char *m1);
  42. public:
  43.     MetaDef(PeImplementors);
  44.     PeImplementors(EvtHandler *);
  45.     void DoSelect(Rectangle r, int clicks);
  46.     void ShowImplementorsOf(PeMethodReference *m, bool onlySubclasses);
  47.     void ShowInherited(PeMethodReference *m);
  48. };
  49.  
  50. //---- PeMethodFilterDialog ----------------------------------------------------
  51.  
  52. class PeMethodFilterDialog : public Dialog {
  53.     TextField *pattern;
  54.     bool hidePublic, hidePrivate, hideProtected;
  55.     RegularExp *rex;
  56. public:
  57.     PeMethodFilterDialog();
  58.     void Control(int id, int, void *v);
  59.     VObject *DoMakeContent();
  60.     SeqCollection *DoIt(Collection *allMethods);
  61. };
  62.  
  63. //---- PeMethodItem --------------------------------------------------------------
  64.  
  65. class PeMethodItem: public TextItem {
  66. public:
  67.     Class *cl;
  68.     PeMethodReference *mrp;
  69.  
  70. public:
  71.     MetaDef(PeMethodItem);    
  72.     PeMethodItem(PeMethodReference *method, char *label);
  73.     PeMethodItem(Class *cl);
  74.     int Line();
  75.     Class *GetClass();
  76.     bool IsPublic();
  77. };
  78.  
  79. #endif
  80.  
  81.